package br.com.vagacerta.modelo;

import java.util.Calendar;

public class CupomAvulso extends Cupom {
	
	private long codigoCupomAvulso;
	private Calendar horaSaida;
	private Double valorFinal;

	public long getCodigoCupomAvulso() {
		return codigoCupomAvulso;
	}

	public void setCodigoCupomAvulso(long codigoCupomAvulso) {
		this.codigoCupomAvulso = codigoCupomAvulso;
	}

	public Calendar getHoraSaida() {
		return horaSaida;
	}

	public void setHoraSaida(Calendar horaSaida) {
		this.horaSaida = horaSaida;
	}

	public Double getValorFinal() {
		return valorFinal;
	}

	public void setValorFinal(Double valorFinal) {
		this.valorFinal = valorFinal;
	}

	public Double calculaValorASerPagoCupomAvulso(Cupom cupomAvulso) {
		Double valorASerPago = null;
		long dataAgora = Calendar.getInstance().getTimeInMillis();
		long quantidadeMinutos = (dataAgora - cupomAvulso.getDataEmissaoCupom().getTimeInMillis()) /  (60 * 1000); 
		long quantidadeHoras = (dataAgora - cupomAvulso.getDataEmissaoCupom().getTimeInMillis()) /  (60 * 60 * 1000);

		if (quantidadeMinutos <= 60) {
			valorASerPago = cupomAvulso.getTipoServico().getValorServico() * 1;
			
		} else {
			
			valorASerPago = cupomAvulso.getTipoServico().getValorServico() * quantidadeHoras;
			
			if((quantidadeMinutos % 60) != 0) {
				
				valorASerPago += cupomAvulso.getTipoServico().getValorServico();
			}
		}
		
		
		return valorASerPago;
	}
}
